
$(function () {

    // 总价格 , 总数量
    let totalPrice = 0;
    let count = 0;

    // 改变库存
    $(".spc-count>span").on('click', function () {
        // 每一个商品的总价元素
        let priceObj = $(this).parents(".spcart-pro").find('.item-price');
        // 是否选中商品
        let isSel = $(this).parents(".spcart-pro").find('.p-item').prop('checked');
        // 单价
        let price = priceObj.attr('unitPrice');

        let b = 0
        // 减少
        if ($(this).index() == 0) {

            // 减少库存
            let countK = $(this).next().text();
            countK = Number.parseInt(countK);
            // 最小库存为1
            countK <= 1 ? 1 : countK--;
            if (countK <= 1) {
                $(this).css("cursor", "not-allowed")
            }
            $(this).next().text(countK)
            // 改变总价格(减少) ,选中时,点击减少按钮
            if (isSel || $(this).closest('.spcart-c').find('.mer-item').prop('checked')) {
                count--
                totalPrice -= Number(price);

                // 获取当前商店选择的商品的个数
                let c = $(this).closest('.shoppingcart').find('.p-item:checked').closest('.spcart-pro').find('.item-count');

                c.each(function (i, v) {
                    b += Number($(v).text());
                })
                console.log(b);
                // 如果选中了 设置相应的最小值
                count = count <= b ? b : count
                if (totalPrice <= Number(price) * b) {
                    totalPrice = Number(price) * b
                }
            }


            // 获取 改变后的价格
            changePrice(priceObj, Number(price), countK);

            // 增加
        } else if ($(this).index() == 2) {

            // 增加库存
            let countK = $(this).prev().text();
            countK = Number.parseInt(countK);
            if (countK >= 1) {
                $(this).prevAll("span").css("cursor", "auto")
            }
            countK >= 99 ? 99 : countK++;
            $(this).prev().text(countK)

            // 改变总价格(加) 选中时,点击增加按钮
            if (isSel) {
                count++
                totalPrice += Number(price);
            }
            // 获取 改变后的价格
            changePrice(priceObj, Number(price), countK);
        }
        $('#total-price').text(totalPrice.toFixed(2));
        $('#total-count').text(count);
    })

    // 改变价格方法
    function changePrice(priceObj, unitPrice, countK) {
        let totalPriceK = 0;
        totalPriceK = unitPrice * countK;
        priceObj.text(totalPriceK.toFixed(2));
    }

    // 双击 输入库存
    $('.spc-count>div').on('dblclick', function () {
        let count = $(this).text();
        $(this).html(`<input type="text" value=${count}></input>`);
        let that = $(this)
        $(this).children("input").on('focusout', function () {
            that.text($(this).val());
        })
    })

    // 全选 ,价格
    $('#allselect').on('click', function () {

        totalPrice = 0
        count = 0
        // 全选
        let ck = $('.spcart-c input:checkbox');
        ck.prop('checked', $(this).prop('checked'))
        if (ck.prop('checked') == true) {

            let totalPriceObj = ck.parents('.spcart-pro').find('#p-price');
            $('.item-count').each(function (i, v) {

                count += Number($(v).text())
            })
            // 获取总价格
            totalPriceObj.each(function (i, v) {
                totalPrice += Number($(v).text())
            })
            // 获取总价格的元素
            $('#total-price').text(totalPrice.toFixed(2));
            $('#total-count').text(count);
        } else {
            count = 0;
            totalPrice = 0;
            $('#total-price').text(0);
            $('#total-count').text(0);
        }

    });


    // 每个商品的点击事件
    $(".p-item").on('click', function () {
        let itemPrice = $(this).parents('.spcart-pro').find('#p-price').text();

        let itemCountObj = $(this).parents('.spcart-pro').find(".item-count");


        if ($(this).prop('checked') == true) {
            totalPrice += Number(itemPrice);
            itemCountObj.each(function (i, v) {
                count += Number($(v).text());
            })
        } else {
            totalPrice -= Number(itemPrice);
            itemCountObj.each(function (i, v) {
                count -= Number($(v).text());
            })
        }
        if (count <= 0) {
            count = 0
        }
        $('#total-price').text(totalPrice.toFixed(2));
        $('#total-count').text(count);

        // 判断一个店里全部选中,商家的选择选中
        isItemSelect($(this))
        // 判断是否全部选中
        isAllSelect();

    })


    // 每个商家的全选
    $('.mer-item').on('click', function () {
        let itemSelect = $(this).parents('.spcart-c').find('.p-item');

        alongPro($(this));
        itemSelect.prop("checked", $(this).prop('checked'));

        isAllSelect();
    })

    // 单个商家的总价格
    function alongPro(that) {
        let total = 0;
        let countItem = 0;
        let items = that.parents('.spcart-c').find('.item-price');
        let counts = that.parents('.spcart-c').find('.item-count');
        let se = that.parents('.spcart-c').find(':input:checked')
        let p = se.parents('.spcart-pro').find(".item-price").text();
        let c = se.parents('.spcart-pro').find(".item-count").text();
        p = Number(p)
        c = Number(c)
        if (that.prop('checked')) {
            counts.each(function (i, v) {
                countItem += Number($(v).text());
            })
            // 价格
            items.each(function (i, v) {
                total += Number($(v).text());
            })
            countItem -= c
            total -= p
        } else {
            counts.each(function (i, v) {
                countItem -= Number($(v).text());

            })
            // 价格
            items.each(function (i, v) {
                total -= Number($(v).text());
            })


        }
        // 数量

        totalPrice += total
        count += countItem
        $('#total-price').text(totalPrice.toFixed(2));
        $('#total-count').text(count);
    }






    // 判断是否全部选中
    function isAllSelect() {
        let isAllFlag = true;
        let all = $('input:checkbox').not("#allselect");
        all.each(function (i, v) {
            if (!$(v).prop('checked')) {
                isAllFlag = false
            }
        })
        $('#allselect').prop('checked', isAllFlag)
        // if (isAllFlag) {
        //     $('#allselect').prop('checked', true)
        // } else {
        //     $('#allselect').prop('checked', false)
        // }
    }


    // 判断每一个商品是否选中
    function isItemSelect(that) {
        let itemF = true;
        // 判断一个店里商品全部选中,那么商家的全部产品选中
        let currentEvery = that.parents(".spcart-c").find('.p-item');
        // 获取 店的总选中器
        let currentPro = that.parents(".spcart-c").find('#xx0-qjd');
        // 如果当前店的全部选中,那么就选中店
        currentEvery.each(function (i, v) {
            if (!$(v).prop("checked")) {
                itemF = false;
            }
        })
        if (itemF) {
            // 如果商家的商品全部选中,那么就选中
            currentPro.prop("checked", true)
        }
        else {
            currentPro.prop("checked", false)
        }
    }


    // 删除商品
    $('.delete').on("click", function () {
        let c = $(this).closest('.spcart-pro').find('.item-count').text();
        let p = $(this).closest('.spcart-pro').find('.item-price').text();

        let isf = $(this).closest(".spcart-pro").find(".p-item").prop('checked');

        if (isf) {
            count -= c
            totalPrice -= p
            $('#total-price').text(totalPrice.toFixed(2));
            $('#total-count').text(count);
        }

        let f = confirm("确认删除?");
        // 店 元素
        if (f) {
            let ss = $(this).parents('.spcart-c');
            $(this).closest('.spcart-pro').remove();
            if (ss.find('.spcart-pro').index() == -1) {
                ss.remove();
            }
        }
    })

    // 删除全部商品
    $('#del-all').on('click', function () {
        let f = confirm("确认全部删除");
        f && $('.spcart-c').remove()
        $('#total-price').text(0);
        $('#total-count').text(0);
        return false
    })

    // 如果登录了,显示用户名

    let tar = localStorage.setItem('target', "C:/Users/Administrator/Desktop/项目/kangkangs-tesco-project/cart.html")
    let timerCart = setInterval(function () {
        let uname = localStorage.getItem('uname');
        if (uname != "" && uname) {
            // 显示用户名
            clearInterval(timerCart)
            $('#cart-tips').css('display', "none")
            $('#cart-login').css('display', "none")
            $('#current-user').text(`当前用户: ${uname}`).css('display', "block")

        } else {


            $('#cart-tips').css('display', "block")
            $('#cart-login').css('display', "block")
            $('#current-user').text('').css('display', "none")


        }

    }, 16)



    // 如果没有登录,显示登录按钮 ,点击去登录按钮
    $('#cart-login').on('click', function () {
        location.href = "C:/Users/Administrator/Desktop/项目/kangkangs-tesco-project/login.html"

    })


})
